-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Removing some boost usage #1331
Conversation
This pull request is in conflict. Could you fix it @henrygerardmoore? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for continuing on this effort. It's a lot of changes, but I assume it's fine squash-merging this since everything is pretty straight-forward. @Abishalini should be mentioned as co-author as she has prepared a sizeable portion of these changes (this can be added with the squash-merge commit).
@henrygerardmoore Are there any packages that don't depend on boost anymore? This should be reflected in the CMakeLists.txt fiels, possibly also in the package.xml dependencies. Could you verify this?
moveit_core/collision_detection/include/moveit/collision_detection/collision_common.h
Show resolved
Hide resolved
This pull request is in conflict. Could you fix it @henrygerardmoore? |
Removed boost from as many CMakeLists as I think is possible, and also made sure it wasn't unnecessarily in any package.xml files. I believe the PR should be good to go now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found some headers that can be removed
...core/collision_distance_field/include/moveit/collision_distance_field/collision_env_hybrid.h
Outdated
Show resolved
Hide resolved
moveit_core/robot_model/include/moveit/robot_model/robot_model.h
Outdated
Show resolved
Hide resolved
.../kinematics_plugin_loader/include/moveit/kinematics_plugin_loader/kinematics_plugin_loader.h
Outdated
Show resolved
Hide resolved
...ros/planning_interface/planning_scene_interface/src/wrap_python_planning_scene_interface.cpp
Outdated
Show resolved
Hide resolved
moveit_ros/robot_interaction/include/moveit/robot_interaction/kinematic_options_map.h
Outdated
Show resolved
Hide resolved
moveit_ros/robot_interaction/include/moveit/robot_interaction/kinematic_options_map.h
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Thanks for this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for taking this on and getting it over the finish line!
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
Co-authored-by: Vatan Aksoy Tezer <[email protected]>
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
Description
Taking over from #1118, this is part 1 of the work that will be done. More boost usage can be (somewhat) easily removed, but the PR is already quite large so that will take place in another PR. The changes included in this PR are
boost::array
->std::array
boost::function
->std::function
boost::mutex
and similar objects (boost::shared_lock
etc) ->std::mutex
boost::starts_with(name, object.first)
->name.rfind(object.first, 0) == 0
boost::math::tools::epsilon<double>()
->std::numeric_limits<double>::min()
boost::filesystem
->std::filesystem
boost::thread
->std::thread
boost
and thestd
equivalentIn a future PR, the following will be done:
boost::regex
boost::noncopyable
boost::lexical_cast
boost::optional
boost::thread_group
When MoveIt is updated to C++20, any use of
boost::math::constants
can be replaced withstd::numbers
constantsChecklist